package com.violet.domain.po;

import com.violet.annotation.transition.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
public class Product implements PO {
    @CNoCopy
    @TNoTransitionWithDefaultId(prefix = "P")
    private String id;                          // ID

    private String name;                        // 名称
    private String description;                 // 描述

    private String categoryId;                  // 分类ID

    private Double currentPrice;                // 现价
    private Double originalPrice;               // 原价

    @CNoCopy
    @TDefaultValue
    private Integer monthlySales;               // 月销量

    @TDefaultValue
    private Integer stock;                      // 库存

    private Boolean status;                     // 状态
    private String unit;                        // 单位

    @CNoCopy
    @TNoTransition
    private String image;                       // 图片

    @CNoCopy
    @TDefaultValue
    private LocalDateTime createTime;           // 创建时间

    @CAutoUpdate
    @TDefaultValue
    private LocalDateTime updateTime;           // 更新时间

    @CNoCopy
    @TDefaultValue
    private String tags;                        // 标签
}
